package cn.xxstudy.blog.service

import cn.xxstudy.blog.entity.Category
import cn.xxstudy.blog.entity.Tags
import com.sun.org.apache.xpath.internal.operations.Bool
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable

/**
 * 作者：wuxinxi on 2020/11/25
 * 包名：cn.xxstudy.blog.service
 * TODO:标签
 */
interface ITagsService {

    /**
     * 新建分类
     */
    fun createTags(tags: Tags): Tags?

    /**
     *通过Id获取分类信息
     */
    fun getTagsById(id: Long): Tags?


    /**
     *通过name获取分类信息
     */
    fun getTagsByName(tagName: String): Tags?

    /**
     * 分页获取分类列表
     */
    fun listTags(pageable: Pageable): Page<Tags>

    /**
     *所有分类列表
     */
    fun listTags(): List<Tags>?

    /**
     * 根据多个id
     */
    fun listTags(ids: String): List<Tags>

    /**
     * 根据博客数查size
     */
    fun listTagsTop(size:Int):List<Tags>

    /**
     *根据Id删除
     */
    fun deleteById(id: Long): Boolean

    /**
     *根据Name删除
     */
    fun deleteByName(tagName: String): Boolean

    /**
     * 更新
     */
    fun updateByName(tagName: String, sourceTags: Tags): Boolean
}